package com.yc.forum.servlet;

import com.yc.forum.dao.UserDao;
import com.yc.forum.util.Utils;

import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.annotation.*;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

//查询个人信息 个人主页 personal 分类分页查询记录
@WebServlet(name = "QueryPersonalServlet", value = "/QueryPersonal.s")
public class QueryPersonalServlet extends HttpServlet {
    private UserDao userDao=new UserDao();
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        HttpSession session= request.getSession();
//        登录人
        String name=session.getAttribute("loginedUser").toString();
//        点进别人账号主页
        String account=request.getParameter("account");
        System.out.println("account============"+account);
        if(account!=null){
            name=account;
        }
        String target=request.getParameter("target");
        String page=request.getParameter("page");
        String size=request.getParameter("size");
        Map<String,Object> pagelist= userDao.selectpersonal(name,target,page,size);

        //取到body的值，并去除<p></p>标签
        System.out.println("pagelist="+pagelist.toString());
        System.out.println("pagelist="+pagelist.get("queryList"));
//        List<Map<String,String>> body=getText(""+pagelist.get("queryList"));
        List<Map<String,String>> body=(List<Map<String,String>>) pagelist.get("queryList");
        System.out.println("body="+body.toString());
        //--------------------------------------------------------------------------------------------------------
        /*去除其他标签*/
        List<Map<String,String>> newbody=new ArrayList<>();
        for(int i=0;i<body.size();i++){
            Map<String,String> map=body.get(i);
            String text=map.get("body");
            text=Utils.takeOutHtmlTab(text);
            map.put("text", text);

            newbody.add(map);
            System.out.println("map="+map.toString());
        }
        pagelist.put("newbody",newbody);
        System.out.println("pagelist="+pagelist.toString());
        Utils.toJson(pagelist,response);
    }
//    public List<Map<String,String>> getText(String mainbody){
//
//        System.out.println("--------init getText------------");
//        List<Map<String,String>> texts=new ArrayList<>();
//        int beginIndex=0;
//        while(true) {
//            //返回 <p> 字符第一次出现的字符串内的索引，以指定的索引开始搜索。
//            String strings = ", body=<p>";
//            int Begin = mainbody.indexOf(strings, beginIndex) + strings.length()-1;
////            System.out.println(mainbody);
////            System.out.println(mainbody.indexOf(strings, beginIndex));
////            System.out.println("Begin="+Begin);
//            //如果未找到img标签，则结束循环
//            if(Begin<(strings.length()-1)){
//                break;
//            }
//            int End = mainbody.indexOf("</p>, problemkey=", Begin);
////            System.out.println("End="+End);
//            //取到 img 标签 src中的内容
//            String ImgText = mainbody.substring(Begin + 1, End);
////            System.out.println(ImgText);
//            //将该次img end索引赋值给beginindex，作为下一次查询的起始点
//            beginIndex = End;
//            //截取字符串在前台展示一部分
//            if(ImgText.length()>=300)
//                ImgText=ImgText.substring(0,300);
//            //将开始位置，结束位置，内容记录
//            Map<String,String> map=new HashMap<>();
//            map.put("begin",""+Begin);
//            map.put("end",""+End);
//            map.put("text",""+ImgText);
//            texts.add(map);
//        }
//        return texts;
//    }
}
